package com.gscitysfy.cus.drain.modules.special.service;

import com.dtflys.forest.annotation.*;
import com.gscitysfy.cus.drain.modules.special.vo.MonitorRequest;

import java.util.Map;

public interface ForRestClient {


    @Post("{baseUrl}/{myUrl}")
    String getListByDeviceType(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @JSONBody MonitorRequest request);


    @Post("{baseUrl}/{myUrl}")
    String getStationList(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @JSONBody MonitorRequest request);

    @Post("{baseUrl}/{myUrl}")
    String getPumpList(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @JSONBody MonitorRequest request);

    @Get("{baseUrl}/{myUrl}?id={id}")
    String selectCifrsDrainMnPumpDtoById(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @Var("id")String id);

    @Get("{baseUrl}/{myUrl}?stationId={stationId}")
    String selectStationAllAlarmList(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @Var("stationId")String stationId);

    @Get("{baseUrl}/{myUrl}?stationId={stationId}")
    String getStationInfoByStationId(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @Var("stationId")String stationId);


    @Get("{baseUrl}/{myUrl}?pointCode={pointCode}&sensorCode={sensorCode}&tagCode={tagCode}&startTime={startTime}&endTime={endTime}")
    String queryHistoryDataLine(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap,
                                @Var("pointCode")String pointCode,@Var("sensorCode")String sensorCode,@Var("tagCode")String tagCode,@Var("startTime")String startTime,@Var("endTime")String endTime);

    @Get("{baseUrl}/{myUrl}?coamPointCode={coamPointCode}")
    String getPointByPointCode(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @Var("coamPointCode")String coamPointCode);

    @Get("{baseUrl}/{myUrl}?coamSubjectCode={coamSubjectCode}")
    String getPipelineByCoamSubjectCode(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @Var("coamSubjectCode")String coamSubjectCode);

    @Get("{baseUrl}/{myUrl}?coamEquipCode={coamEquipCode}")
    String getEquipByCoamEquipCode(@Var("baseUrl") String baseUrl,@Var("myUrl") String myUrl, @Header Map<String, Object> headerMap, @Var("coamEquipCode")String coamEquipCode);


}
